#include <iostream>
#include <thread>
#include "EventEmitterSync.h"
#include "EventEmitterAsync.h"
#include "TcpServer.h"

int main() {

    //echo server example
    TcpServer echo_server;
    echo_server.onMessage() = [](std::string &&msg, int client_fd) {
        std::cout << "收到消息:" << msg << std::endl;
        send(client_fd, msg.c_str(), msg.length(), 0);
    };

    echo_server.run(8888, "0.0.0.0");


    // Emitter example
    // EventEmitterAsync emitter;
    // emitter.on("A", [&]() {
    //     std::cout << "hello A" << std::endl;
    //     emitter.emit("B");
    // });
    //
    // emitter.on("B", [&]() {
    //     std::cout << "hello B" << std::endl;
    //     emitter.emit("A");
    // });
    //
    // std::thread run([&]() { emitter.emit("A"); });
    // run.detach();
    // emitter.exec();
}
